﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
using System.Windows.Forms;
using ProyectoVeranoAECAasp.Negocios.Clases;
using ProyectoVeranoAECAasp.AccesoDatos.Clases;
using ProyectoVeranoAECAasp.AccesoDatos.ClasesMiscelaneas;
using ProyectoVeranoAECAasp.Clases;

namespace ProyectoVeranoAECAasp.Vistas
{
    public partial class GestionarBandejaSols : System.Web.UI.Page
    {
        ProcesosGestionBandejaSols enlaceNegociosGestionBandeja = new ProcesosGestionBandejaSols();
        Principal pag = new Principal();

        protected void Page_Load(object sender, EventArgs e)
        {
            String userid = (String)Session["UsuarioID"];
            this.BotonAceptarOperac.Attributes.Add("onClick",
                Master.mensajesConfirmacion("Esta seguro de querer ejecutar esta operación"));
            this.NombreEtiquetaGroup.Text = Global.get_nombreUserLog();
            this.LoginEtiquetaGroup.Text = Global.get_loginUserLog();
            this.TipoUsuarioGroup.Text = Global.get_tipoUserLog();
            //----
            if (userid == "" || userid == null)
            {
                Response.Redirect("/Vistas/Autenticacion.aspx");
            }
        }

        protected void LinkButtonSalir_Click(object sender, EventArgs e)
        {
            Session["UsuarioID"] = null;
            Session["TipoUsuarioGlobal"] = null;
            Session["Previo"] = null;
            Session["Actual"] = null;
            Response.Redirect("/Vistas/Autenticacion.aspx");
        }

        protected void BotonAceptarCB_Click(object sender, EventArgs e)
        {
            obtenerSolicitudes("", "", "");
            this.BandejaGridView.SelectedIndex = -1;
            Global.set_loginSeleccionado("");
        }

        protected void BandejaGridView_SelectedIndexChanged(object sender, EventArgs e)
        {
            List<String> listaDatosSolic;
            //----
            this.TextBoxHorarioGBS.Text = "";

            int idSolic = Convert.ToInt32(this.BandejaGridView.SelectedRow.Cells[1].Text);

            int actual = BandejaGridView.SelectedIndex;
            Session["Actual"] = actual;

            listaDatosSolic = enlaceNegociosGestionBandeja.llamar_ejecutaSP_DatosSolicitudSeleccionada(idSolic);
            this.TextBoxEscuelaGBS.Text = listaDatosSolic[0];
            this.TextBoxCarreraGBS.Text = listaDatosSolic[1];
            this.TextBoxEncargadoGBS.Text = listaDatosSolic[2];
            this.TextBoxEspSolicGBS.Text = listaDatosSolic[3];
            this.TextBoxDetallesGBS.Text = listaDatosSolic[4];
            this.TextBoxFechaGBS.Text = listaDatosSolic[5];

            Global.set_listaHorario(enlaceNegociosGestionBandeja.llamar_ejecutaSP_ObtenerHorarioSolic(idSolic));

            String modalidad;
            int modo = 0;
            for (int i = 0; i < Global.get_listaHorario().Count; i++)
            {
                this.TextBoxHorarioGBS.Text = this.TextBoxHorarioGBS.Text +
                    Global.get_listaHorario()[i];
                i = i + 1;
                modalidad = Global.get_listaHorario()[i];
                modo = String.Compare(modalidad, "False");
                if (modo == 0)
                {
                    this.TextBoxHorarioGBS.Text = this.TextBoxHorarioGBS.Text + " a.m.";
                }
                else
                {
                    this.TextBoxHorarioGBS.Text = this.TextBoxHorarioGBS.Text + " p.m.";
                }
                this.TextBoxHorarioGBS.Text = this.TextBoxHorarioGBS.Text + "\n";
            }
        }

        protected void BotonAceptarOperac_Click(object sender, EventArgs e)
        {
            int indiceGridSeleccionado = -1;

            int estadoProceso = 0;
            //----
            indiceGridSeleccionado = Convert.ToInt32(Session["Actual"]);

            if ((indiceGridSeleccionado >= 0) && (this.BandejaGridView.SelectedIndex != -1))
            {
                //------------------- SECCION APROBAR (Josue) -------------------------------
                if (this.DropDownOperacs.SelectedItem.Text == "Aprobar")
                {
                    try
                    {
                        Global.set_idUsuarioModificar(Convert.ToInt32(this.BandejaGridView.Rows[indiceGridSeleccionado].Cells[1].Text));

                        int idSolAAprobar = Global.get_idUsuarioModificar();
                        //---- Traer las solicitudes aprobadas (comparar con la seleccionada)
                        // si se encuentra una con choque de horario, no se aprueba la seleccionada
                        // y se denega junto con las q hagan choque
                        List<int> listaIDSolicsAprob;
                        String fechaSolSelect;
                        String espacioSolSelect;
                        Boolean choqueHorario = false;
                        fechaSolSelect = this.TextBoxFechaGBS.Text;
                        espacioSolSelect = this.TextBoxEspSolicGBS.Text;
                        listaIDSolicsAprob = enlaceNegociosGestionBandeja.llamar_ejecutaSP_ObtenerSolsXEstadoMatchFechaEsp(fechaSolSelect, espacioSolSelect, 2);
                        //---- Traer horario de cada una de las solicitudes y compararlo con
                        // el horario de la q se desea aprobar
                        List<String> listaHorasSolAprob;
                        List<String> ListaHorasMasModalidadSolAprob;
                        //String elementolistaHorasSolAprob = "";
                        String elementolistaHorario = "";
                        for (int i = 0; i < listaIDSolicsAprob.Count; i++)
                        {
                            if (choqueHorario)
                                break;
                            listaHorasSolAprob = enlaceNegociosGestionBandeja.llamar_ejecutaSP_ObtenerHorarioSolic(listaIDSolicsAprob[i]);
                            ListaHorasMasModalidadSolAprob = new List<String>();
                            for (int f = 0; f < listaHorasSolAprob.Count; f++)
                            {
                                // Llenamos lista con hora + modalidad
                                ListaHorasMasModalidadSolAprob.Add(listaHorasSolAprob[f] + " " +
                                    listaHorasSolAprob[f + 1]);
                                f++;
                            }
                            for (int f = 0; f < Global.get_listaHorario().Count; f++)
                            {
                                elementolistaHorario = Global.get_listaHorario()[f] + " " +
                                        Global.get_listaHorario()[f + 1];
                                if (ListaHorasMasModalidadSolAprob.Contains(elementolistaHorario))
                                {
                                    choqueHorario = true;
                                    break;
                                }
                                else
                                {
                                    choqueHorario = false;
                                }
                                f++;
                            }
                        }

                        if (choqueHorario == false)
                        {
                            //---- Como no hay choque aprobamos la solicitud
                            estadoProceso = enlaceNegociosGestionBandeja.llamar_ejecutaSP_ActualizarEstadoSolic(Global.get_idUsuarioModificar(), 2);
                            if (estadoProceso == -1)
                            {
                                String mensajeCorrecto = "Se ha producido un error al inentar aprobar la solicitud";
                                //Page.ClientScript.RegisterStartupScript(this.GetType(), "", mensajeCorrecto);
                                Master.mensajesAlerta(mensajeCorrecto);
                            }
                            else
                            {
                                String mensajeCorrecto = "¡Solicitud aprobada con éxito!";
                                //Page.ClientScript.RegisterStartupScript(this.GetType(), "", mensajeCorrecto);
                                Master.mensajesAlerta(mensajeCorrecto);
                            }
                           

                            //---- Ahora denegamos las solicitudes pendientes que presentan choque
                            // de horario con esta que aprobamos
                            List<int> listaIDSolicsPendientes;
                            fechaSolSelect = this.TextBoxFechaGBS.Text;
                            espacioSolSelect = this.TextBoxEspSolicGBS.Text;
                            listaIDSolicsPendientes = enlaceNegociosGestionBandeja.llamar_ejecutaSP_ObtenerSolsXEstadoMatchFechaEsp(fechaSolSelect, espacioSolSelect, 1);
                            //---- Traer horario de cada una de las solicitudes y compararlo con
                            // el horario de la solicitud aprobada
                            List<String> listaHorasSolPendiente;
                            List<String> ListaHorasMasModalidadSolPendiente;
                            int idSolicitudPendienteAcomparar = 0;
                            //String elementolistaHorasSolAprob = "";
                            elementolistaHorario = "";
                            for (int i = 0; i < listaIDSolicsPendientes.Count; i++)
                            {
                                idSolicitudPendienteAcomparar = listaIDSolicsPendientes[i];
                                listaHorasSolPendiente = enlaceNegociosGestionBandeja.llamar_ejecutaSP_ObtenerHorarioSolic(idSolicitudPendienteAcomparar);
                                ListaHorasMasModalidadSolPendiente = new List<String>();
                                for (int f = 0; f < listaHorasSolPendiente.Count; f++)
                                {
                                    // Llenamos lista con hora + modalidad
                                    ListaHorasMasModalidadSolPendiente.Add(listaHorasSolPendiente[f] + " " +
                                        listaHorasSolPendiente[f + 1]);
                                    f++;
                                }
                                for (int f = 0; f < Global.get_listaHorario().Count; f++)
                                {
                                    elementolistaHorario = Global.get_listaHorario()[f] + " " +
                                        Global.get_listaHorario()[f + 1];
                                    if (ListaHorasMasModalidadSolPendiente.Contains(elementolistaHorario))
                                    {
                                        enlaceNegociosGestionBandeja.llamar_ejecutaSP_ActualizarEstadoSolic(idSolicitudPendienteAcomparar, 3);
                                    }
                                    else
                                    {
                                        choqueHorario = false;
                                    }
                                    f++;
                                }
                            }
                            this.BandejaGridView.SelectedIndex = -1;
                            obtenerSolicitudes("", "", "");
                        }
                        else
                        {
                            //---- Hay choque, no se puede aprobar la solicitud
                            //+++ MOSTRAR AVISO NO SE PUEDE ACEPTAR SOLIC +++
                        }
                    }
                    catch (ArgumentOutOfRangeException exc)
                    {
                        //+++ MOSTRAR AVISO AL USER DE QUE NO HA SELECCIONADO ALGO +++
                        String mensajeError = exc.Message;
                        this.BandejaGridView.SelectedIndex = -1;
                        this.TextBoxAsuntoView2.Text = "";
                        this.TextBoxDetallesGBS.Text = "";
                        this.TextBoxEncargadoGBS.Text = "";
                        this.TextBoxEscuelaGBS.Text = "";
                        this.TextBoxEspSolicGBS.Text = "";
                        this.TextBoxCarreraGBS.Text = "";
                        this.TextBoxFechaGBS.Text = "";
                        this.TextBoxHorarioGBS.Text = "";
                        Global.set_idUsuarioModificar(0);
                    }
                }

                //------------------- SECCION DENEGAR (Josue) -------------------------------
                else if (this.DropDownOperacs.SelectedItem.Text == "Denegar")
                {
                    try
                    {
                        Global.set_idUsuarioModificar(Convert.ToInt32(this.BandejaGridView.Rows[indiceGridSeleccionado].Cells[1].Text));
                        estadoProceso = enlaceNegociosGestionBandeja.llamar_ejecutaSP_ActualizarEstadoSolic(Global.get_idUsuarioModificar(), 3);
                        if (estadoProceso == -1)
                        {

                            String mensajeCorrecto = "Se ha producido un error al inentar denegar la solicitud";
                            //Page.ClientScript.RegisterStartupScript(this.GetType(), "", mensajeCorrecto);
                            Master.mensajesAlerta(mensajeCorrecto);
                        }
                        else
                        {
                            String mensajeCorrecto = "¡Solicitud denegada con éxito!";
                            //Page.ClientScript.RegisterStartupScript(this.GetType(), "", mensajeCorrecto);
                            Master.mensajesAlerta(mensajeCorrecto);
                        }
                        this.BandejaGridView.SelectedIndex = -1;
                        obtenerSolicitudes("", "", "");
                    }
                    catch (ArgumentOutOfRangeException exc)
                    {
                        //+++ MOSTRAR AVISO AL USER DE QUE NO HA SELECCIONADO ALGO +++
                        String mensajeError = exc.Message;
                        this.BandejaGridView.SelectedIndex = -1;
                        this.TextBoxAsuntoView2.Text = "";
                        this.TextBoxDetallesGBS.Text = "";
                        this.TextBoxEncargadoGBS.Text = "";
                        this.TextBoxEscuelaGBS.Text = "";
                        this.TextBoxEspSolicGBS.Text = "";
                        this.TextBoxCarreraGBS.Text = "";
                        this.TextBoxFechaGBS.Text = "";
                        this.TextBoxHorarioGBS.Text = "";
                        Global.set_idUsuarioModificar(0);
                    }
                }

                //------------------- SECCION MODIFICAR (Bryan) -------------------------------
                else if (this.DropDownOperacs.SelectedItem.Text == "Modificar")
                {
                    try
                    {
                        Global.set_idUsuarioModificar(Convert.ToInt32(this.BandejaGridView.Rows[indiceGridSeleccionado].Cells[1].Text));
                        MultiVista.ActiveViewIndex = 1;
                        SqlDataSource3.SelectParameters.Clear();
                        DataSourceSelectArguments ds = new DataSourceSelectArguments();

                        SqlDataSource3.SelectParameters.Add(@"idSolicitudReservacion", Global.get_idUsuarioModificar().ToString());
                        DetailsView1.DataBind();
                        SqlDataSource4.SelectParameters.Clear();
                        SqlDataSource4.SelectParameters.Add(@"idCarrerasXEscuela", DetailsView1.Rows[2].Cells[1].Text);
                        DetailsView2.DataBind();
                        DropDownListEscuelaView2.ClearSelection();
                        DropDownListCarreraView2.DataSourceID = null;
                        DropDownListCarreraView2.Items.Clear();
                        DropDownListCarreraView2.DataSourceID = "SqlDataSource2";
                        DropDownListEscuelaView2.SelectedValue = DetailsView2.Rows[2].Cells[1].Text;

                        //DropDownListCarreraView2.DataBind();
                        DropDownListCarreraView2.SelectedValue = DetailsView2.Rows[1].Cells[1].Text;
                        TextBoxAsuntoView2.Text = DetailsView1.Rows[1].Cells[1].Text;
                        string detalle = DetailsView1.Rows[3].Cells[1].Text;
                        if (detalle.CompareTo("&nbsp;") == 0)
                            detalle = "";
                        TextBox1.Text = detalle;
                    }
                    catch (ArgumentOutOfRangeException exc)
                    {
                        //+++ MOSTRAR AVISO AL USER DE QUE NO HA SELECCIONADO ALGO +++
                        String mensajeError = exc.Message;
                        this.BandejaGridView.SelectedIndex = -1;
                        this.TextBoxAsuntoView2.Text = "";
                        this.TextBoxDetallesGBS.Text = "";
                        this.TextBoxEncargadoGBS.Text = "";
                        this.TextBoxEscuelaGBS.Text = "";
                        this.TextBoxEspSolicGBS.Text = "";
                        this.TextBoxCarreraGBS.Text = "";
                        this.TextBoxFechaGBS.Text = "";
                        this.TextBoxHorarioGBS.Text = "";
                        Global.set_idUsuarioModificar(0);
                    }
                }

                //------------------- SECCION ELIMINAR (Bryan) -------------------------------
                else if (this.DropDownOperacs.SelectedItem.Text == "Eliminar")
                {
                    try
                    {
                        Global.set_idUsuarioModificar(Convert.ToInt32(this.BandejaGridView.Rows[indiceGridSeleccionado].Cells[1].Text));
             
                        SqlDataSource2.DeleteParameters.Clear();
                        SqlDataSource2.DeleteParameters.Add(@"ID_Solicitud", Global.get_idUsuarioModificar().ToString());
                        SqlDataSource2.Delete();
                        obtenerSolicitudes("", "", "");
                    }
                    catch (ArgumentOutOfRangeException exc)
                    {
                        //+++ MOSTRAR AVISO AL USER DE QUE NO HA SELECCIONADO ALGO +++
                        String mensajeError = exc.Message;
                        this.BandejaGridView.SelectedIndex = -1;
                        this.TextBoxAsuntoView2.Text = "";
                        this.TextBoxDetallesGBS.Text = "";
                        this.TextBoxEncargadoGBS.Text = "";
                        this.TextBoxEscuelaGBS.Text = "";
                        this.TextBoxEspSolicGBS.Text = "";
                        this.TextBoxCarreraGBS.Text = "";
                        this.TextBoxFechaGBS.Text = "";
                        this.TextBoxHorarioGBS.Text = "";
                        Global.set_idUsuarioModificar(0);
                    }
                }
            }
            else
            {
                String mensajeCorrecto = "Por favor, primero cargue las solicitudes";
                //Page.ClientScript.RegisterStartupScript(this.GetType(), "", mensajeCorrecto);
                Master.mensajesAlerta(mensajeCorrecto);
            }
            //----
        }


        //------------------- BOTON ACEPTAR (Bryan) -------------------------------
        protected void BotonAceptarView2_Click(object sender, EventArgs e)
        {
            if (TextBoxAsuntoView2.Text.CompareTo("") == 0)
            {
                String mensajeCorrecto = "Por favor indique un asunto";
                Page.ClientScript.RegisterStartupScript(this.GetType(), "", mensajeCorrecto);
            }
            else
            {
                SqlDataSource2.UpdateParameters.Clear();
                SqlDataSource2.UpdateParameters.Add(@"Asunto", TextBoxAsuntoView2.Text);
                SqlDataSource2.UpdateParameters.Add(@"Descripcion", TextBox1.Text);
                SqlDataSource2.UpdateParameters.Add(@"Carrera", DropDownListCarreraView2.SelectedValue);
                SqlDataSource2.UpdateParameters.Add(@"ID_Solicitud", Global.get_idUsuarioModificar().ToString());
                SqlDataSource2.Update();
                obtenerSolicitudes("", "", "");
                MultiVista.ActiveViewIndex = 0;
                DropDownListEscuelaView2.SelectedIndex = -1;
            }
        }

        //------------------- BOTON CANCELAR (Bryan) -------------------------------
        protected void BotonCancelarView2_Click(object sender, EventArgs e)
        {
            MultiVista.ActiveViewIndex = 0;
            DropDownListEscuelaView2.SelectedIndex = -1;
        }


        protected void DropDownListEscuelaView2_SelectedIndexChanged(object sender, EventArgs e)
        {
            DropDownListCarreraView2.DataBind();
        }


        protected void BandejaGridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            //----
            if ((Global.get_loginSeleccionado() != "") && (Global.get_loginSeleccionado() != null))
            {
                obtenerSolicitudes(Global.get_loginSeleccionado(), "", "");
            }
            else
            {
                if (((Global.get_fechaInicio() != "") && (Global.get_fechaInicio() != null)) &&
                    ((Global.get_fechaFin() != null) && (Global.get_fechaFin() != "")))
                {
                    obtenerSolicitudes("", Global.get_fechaInicio(), Global.get_fechaFin());
                }
                else
                {
                    obtenerSolicitudes("", "", "");
                }
            }
            BandejaGridView.PageIndex = e.NewPageIndex;
            BandejaGridView.SelectedIndex = -1;
            BandejaGridView.DataBind();
            this.TextBoxAsuntoView2.Text = "";
            this.TextBoxDetallesGBS.Text = "";
            this.TextBoxEncargadoGBS.Text = "";
            this.TextBoxEscuelaGBS.Text = "";
            this.TextBoxEspSolicGBS.Text = "";
            this.TextBoxCarreraGBS.Text = "";
            this.TextBoxFechaGBS.Text = "";
            this.TextBoxHorarioGBS.Text = "";
            Global.set_idUsuarioModificar(0);
        }


        protected void DropDownBusquedaLoginGBS_Init(object sender, EventArgs e)
        {
            List<String> listaLogins;
            //----
            listaLogins = enlaceNegociosGestionBandeja.llamar_ejecutaSP_ObtenerLogins();
            DropDownBusquedaLoginGBS.DataSource = listaLogins;
            DropDownBusquedaLoginGBS.DataBind();
        }


        protected void BotonBuscarXLoginGBS_Click(object sender, EventArgs e)
        {
            //----
            Global.set_loginSeleccionado(this.DropDownBusquedaLoginGBS.SelectedValue);
            obtenerSolicitudes(Global.get_loginSeleccionado(), "", "");
        }

        protected void BotonAceptarFechas_Click(object sender, EventArgs e)
        {
            //----
            Global.set_loginSeleccionado("");
            Global.set_fechaInicio(this.startdate.Text);
            Global.set_fechaFin(this.enddate.Text);

            if (verificarFecha(Global.get_fechaInicio()) || verificarFecha(Global.get_fechaFin()))
            {
                int resultadoComparacionFecha = -1;

                if ((Global.get_fechaInicio() == null) || (Global.get_fechaInicio() == ""))
                {
                    Global.set_fechaInicio(Global.get_fechaFin());
                }
                if ((Global.get_fechaFin() == null) || (Global.get_fechaFin() == ""))
                {
                    Global.set_fechaFin(Global.get_fechaInicio());
                }
                resultadoComparacionFecha = DateTime.Compare(Convert.ToDateTime(Global.get_fechaInicio()),
                    Convert.ToDateTime(Global.get_fechaFin()));

                if (resultadoComparacionFecha < 0)
                {
                    //---- La fecha de inicio es menor que la de fin :)
                    obtenerSolicitudes("", Global.get_fechaInicio(), Global.get_fechaFin());
                }
                else if (resultadoComparacionFecha == 0)
                {
                    //---- La fecha de inicio y la de fin son iguales :)
                    obtenerSolicitudes("", Global.get_fechaInicio(), Global.get_fechaFin());
                }
                else
                {
                    //---- La fecha de inicio es mayor que la de fin :(
                    // no se puede proceder
                    // +++ MOSTRAR MENSAJE DE FECHAS MAL +++
                }
            }
            else
            {
                // No hay fechas o bien el formato es incorrecto //
                // +++ MOSTRAR MENSAJE DE INGRESAR ALGUNA FECHA +++
            }
            
        }


        /*protected void BandejaGridView_Init(object sender, EventArgs e)
        {
            obtenerSolicitudes();
            BandejaGridView.SelectedIndex = -1;
        }*/



//=========================================================================================
/* 
 * METODOS VARIOS MULTIPROPÓSITO
 */
        //-| obtenerSolicitudes |----
        // Trae solicitudes de la base de datos o bien de las listas buffer
        public void obtenerSolicitudes(String p_login, String p_FechaInicio,
            String p_FechaFin)
        {
            bool estadoChBPendientes;
            bool estadoChBAprobadas;
            bool estadoChBDenegadas;
            int pendientes = 0;
            int aprobadas = 0;
            int denegadas = 0;

            //----
            estadoChBPendientes = this.CheckBoxList.Items[0].Selected;
            estadoChBAprobadas = this.CheckBoxList.Items[1].Selected;
            estadoChBDenegadas = this.CheckBoxList.Items[2].Selected;

            this.EtiquetaAyudaGridGBS.Text = "";

            if (estadoChBPendientes)
            {
                pendientes = 1;
            }
            if (estadoChBAprobadas)
            {
                aprobadas = 1;
            }
            if (estadoChBDenegadas)
            {
                denegadas = 1;
            }

            if ((estadoChBPendientes == false) && (estadoChBAprobadas == false) &&
                (estadoChBDenegadas == false))
            {
                estadoChBPendientes = true;
                estadoChBAprobadas = true;
                estadoChBDenegadas = true;
                this.CheckBoxList.Items[0].Selected = true;
                this.CheckBoxList.Items[1].Selected = true;
                this.CheckBoxList.Items[2].Selected = true;
                pendientes = 1;
                aprobadas = 1;
                denegadas = 1;
                Global.set_ListaTodasSolics(enlaceNegociosGestionBandeja.llamar_ejecutaSP_ObtenerSolicitudesSegunFiltro(pendientes,
                    aprobadas, denegadas, p_login, p_FechaInicio, p_FechaFin));
                this.BandejaGridView.SelectedIndex = -1;
                this.TextBoxAsuntoView2.Text = "";
                this.TextBoxDetallesGBS.Text = "";
                this.TextBoxEncargadoGBS.Text = "";
                this.TextBoxEscuelaGBS.Text = "";
                this.TextBoxEspSolicGBS.Text = "";
                this.TextBoxCarreraGBS.Text = "";
                this.TextBoxFechaGBS.Text = "";
                this.TextBoxHorarioGBS.Text = "";
                Global.set_idUsuarioModificar(0);
                this.BandejaGridView.DataSource = Global.get_ListaTodasSolics();
                this.BandejaGridView.DataBind();
            }
            else
            {
                Global.set_ListaTodasSolics(enlaceNegociosGestionBandeja.llamar_ejecutaSP_ObtenerSolicitudesSegunFiltro(1,
                    1, 1, p_login, p_FechaInicio, p_FechaFin));
                this.BandejaGridView.SelectedIndex = -1;
                this.TextBoxAsuntoView2.Text = "";
                this.TextBoxDetallesGBS.Text = "";
                this.TextBoxEncargadoGBS.Text = "";
                this.TextBoxEscuelaGBS.Text = "";
                this.TextBoxEspSolicGBS.Text = "";
                this.TextBoxCarreraGBS.Text = "";
                this.TextBoxFechaGBS.Text = "";
                this.TextBoxHorarioGBS.Text = "";
                Global.set_idUsuarioModificar(0);
                Global.get_ListaSolFiltro().Clear();
                if (pendientes == 1)
                {
                    for (int i = 0; i < Global.get_ListaTodasSolics().Count; i++)
                    {
                        if (String.Compare(Global.get_ListaTodasSolics()[i].EstadoSolicitud, "Pendiente") == 0)
                        {
                            Global.get_ListaSolFiltro().Add(Global.get_ListaTodasSolics()[i]);
                        }
                    }
                }
                if (aprobadas == 1)
                {
                    for (int i = 0; i < Global.get_ListaTodasSolics().Count; i++)
                    {
                        if (String.Compare(Global.get_ListaTodasSolics()[i].EstadoSolicitud, "Aprobada") == 0)
                        {
                            Global.get_ListaSolFiltro().Add(Global.get_ListaTodasSolics()[i]);
                        }
                    }
                }
                if (denegadas == 1)
                {
                    for (int i = 0; i < Global.get_ListaTodasSolics().Count; i++)
                    {
                        if (String.Compare(Global.get_ListaTodasSolics()[i].EstadoSolicitud, "Denegada") == 0)
                        {
                            Global.get_ListaSolFiltro().Add(Global.get_ListaTodasSolics()[i]);
                        }
                    }
                }
                this.BandejaGridView.DataSource = Global.get_ListaSolFiltro();
                this.BandejaGridView.DataBind();
            }
        }


        // - verificarFecha: Permite verificar que la fecha esté bien y validada
        // y elimina la fecha si está adulterada
        public Boolean verificarFecha(String p_Fecha)
        {
            Boolean correctituFecha = false;
            String fechaString;
            DateTime fechaDateTime;
            //----
            fechaString = p_Fecha;
            try
            {
                fechaDateTime = DateTime.ParseExact(fechaString, "dd/MM/yyyy", null);
                correctituFecha = true;
            }
            catch
            {
                correctituFecha = false;
            }
            //----
            return correctituFecha;
        }

        protected void DropDownOperacs_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        protected void DropDownOperacs_SelectedIndexChanged1(object sender, EventArgs e)
        {

        }
    }
}